輕鬆學習 R 語言 - 非工程師的學習地圖

郭耀仁

2017-11-22

投影片連結

http://yaojenkuo.io/tech_talks/map_of_learning_r

關於講師

關於我

var yaoJenKuo = {
    "name": "郭耀仁",
    "organization": "Kyosei.ai",
    "loves": [
        "Data Science",
        "Marathon",
        "Ping pong"
    ]
};

  • 台大資工系統訓練班(2016 - 現在)
  • 2017 資料科學年會講者
  • 國立台北商業大學(2017 秋)
  • 玉山商業銀行(2017 夏)

Could that data BE any tidier?

Google 圖片

Google 圖片

Data Scientist: The Sexiest Job of the 21st Century.

Harvard Business Review OCT, 2012

資料科學的範疇

  • 資料技術
  • 視覺化
  • 機器學習
  • 高效能運算

雨後春筍般的技術生態系

資料科學的程式語言

The 2017 Top Programming Languages

在資料科學領域獨領風騷的 R 語言

For R (a domain specific language for data science) to rank in the 6th. Other data-oriented languages appear in the Top 50 rankings, including Matlab (#15), SQL (#23), Julia (#31) and SAS (#37).

R 語言的二三事

  • 以 S 語言為基礎
  • 由奧克蘭大學的 Ross Ihaka 與 Robert Gentleman 所創造
  • 高階的直譯式語言

R 語言的特性

  • 免費
  • 開放
  • 高市佔
  • 跨平台
  • 彈性大

容易建立的開發環境

R vs. Python

我推薦都要學

Both languages have a lot of similarities in syntax and approach, and you can’t go wrong with one, the other, or both. Vik Paruchuri

問自己幾個問題

  • 有沒有寫過程式
  • 喜歡函數型或物件導向編程
  • 以什麼應用為主
    • 統計分析
    • 視覺化
    • 深度學習
    • 網站後端建置資料科學系統

究竟可以用來做什麼事情

建立一個選股策略

財務自由的世界:財務分析就是一場投資的戰爭

上市公司股價前一百

##     stock_code  stock_name stock_price stock_type scrape_date
## 1         3008      大立光      5555.0       上市  2017-11-22
## 2         6415     矽力-KY       608.0       上市  2017-11-22
## 3         6409        旭隼       522.0       上市  2017-11-22
## 4         1590   亞德客-KY       511.0       上市  2017-11-22
## 5         6414        樺漢       466.0       上市  2017-11-22
## 6         6452     康友-KY       428.5       上市  2017-11-22
## 7         4943     康控-KY       409.0       上市  2017-11-22
## 8         2059        川湖       405.5       上市  2017-11-22
## 9         2723     美食-KY       377.0       上市  2017-11-22
## 10        5269        祥碩       365.0       上市  2017-11-22
## 11        3406      玉晶光       358.5       上市  2017-11-22
## 12        2207      和泰車       351.0       上市  2017-11-22
## 13        2474        可成       346.5       上市  2017-11-22
## 14        2454      聯發科       327.0       上市  2017-11-22
## 15        2049        上銀       324.5       上市  2017-11-22
## 16        2231        為升       315.0       上市  2017-11-22
## 17        2327        國巨       298.5       上市  2017-11-22
## 18        8464        億豐       290.0       上市  2017-11-22
## 19        2912      統一超       288.5       上市  2017-11-22
## 20        1476        儒鴻       284.5       上市  2017-11-22
## 21        3443        創意       283.0       上市  2017-11-22
## 22        2357        華碩       271.5       上市  2017-11-22
## 23        3665     貿聯-KY       268.5       上市  2017-11-22
## 24        2227      裕日車       254.5       上市  2017-11-22
## 25        6456      GIS-KY       253.0       上市  2017-11-22
## 26        2330      台積電       242.0       上市  2017-11-22
## 27        8341        日友       238.0       上市  2017-11-22
## 28        3413        京鼎       232.5       上市  2017-11-22
## 29        2439        美律       221.0       上市  2017-11-22
## 30        2395        研華       207.0       上市  2017-11-22
## 31        8454      富邦媒       205.5       上市  2017-11-22
## 32        4912 聯德控股-KY       185.5       上市  2017-11-22
## 33        1707      葡萄王       183.5       上市  2017-11-22
## 34        3533        嘉澤       180.5       上市  2017-11-22
## 35        8422      可寧衛       173.5       上市  2017-11-22
## 36        6504        南六       170.0       上市  2017-11-22
## 37        2360        致茂       169.5       上市  2017-11-22
## 38        4763     材料-KY       169.5       上市  2017-11-22
## 39        4551      智伸科       161.0       上市  2017-11-22
## 40        2496        卓越       157.0       上市  2017-11-22
## 41        3130      一零四       156.0       上市  2017-11-22
## 42        2707        晶華       151.5       上市  2017-11-22
## 43        9921        巨大       149.0       上市  2017-11-22
## 44        2239     英利-KY       146.0       上市  2017-11-22
## 45        1475        本盟       146.0       上市  2017-11-22
## 46        1537        廣隆       146.0       上市  2017-11-22
## 47        1256 鮮活果汁-KY       145.0       上市  2017-11-22
## 48        8070        長華       144.5       上市  2017-11-22
## 49        4438        廣越       144.0       上市  2017-11-22
## 50        6271      同欣電       140.5       上市  2017-11-22
## 51        2308      台達電       140.0       上市  2017-11-22
## 52        6451     訊芯-KY       136.5       上市  2017-11-22
## 53        8114      振樺電       136.5       上市  2017-11-22
## 54        2727        王品       136.0       上市  2017-11-22
## 55        4137     麗豐-KY       136.0       上市  2017-11-22
## 56        9910        豐泰       132.5       上市  2017-11-22
## 57        1536        和大       130.0       上市  2017-11-22
## 58        8480     泰昇-KY       128.5       上市  2017-11-22
## 59        1558        伸興       128.0       上市  2017-11-22
## 60        1723        中碳       124.0       上市  2017-11-22
## 61        6269        台郡       124.0       上市  2017-11-22
## 62        9914      美利達       123.5       上市  2017-11-22
## 63        2228        劍麟       123.0       上市  2017-11-22
## 64        3019        亞光       122.5       上市  2017-11-22
## 65        1477        聚陽       122.5       上市  2017-11-22
## 66        4739        康普       121.0       上市  2017-11-22
## 67        9938        百和       120.5       上市  2017-11-22
## 68        3450        聯鈞       119.5       上市  2017-11-22
## 69        3034        聯詠       118.0       上市  2017-11-22
## 70        5264     鎧勝-KY       118.0       上市  2017-11-22
## 71        9941        裕融       117.0       上市  2017-11-22
## 72        2383      台光電       116.5       上市  2017-11-22
## 73        1338     廣華-KY       116.5       上市  2017-11-22
## 74        6464      台數科       116.0       上市  2017-11-22
## 75        4148 全宇生技-KY       116.0       上市  2017-11-22
## 76        2379        瑞昱       115.5       上市  2017-11-22
## 77        4977     眾達-KY       115.0       上市  2017-11-22
## 78        3532      台勝科       114.0       上市  2017-11-22
## 79        2929     淘帝-KY       110.5       上市  2017-11-22
## 80        4968        立積       109.0       上市  2017-11-22
## 81        3045      台灣大       108.5       上市  2017-11-22
## 82        6505      台塑化       108.0       上市  2017-11-22
## 83        2456      奇力新       105.5       上市  2017-11-22
## 84        3617        碩天       105.0       上市  2017-11-22
## 85        2345        智邦       105.0       上市  2017-11-22
## 86        1525        江申       105.0       上市  2017-11-22
## 87        2317        鴻海       104.0       上市  2017-11-22
## 88        2412      中華電       103.5       上市  2017-11-22
## 89        6533      晶心科       102.0       上市  2017-11-22
## 90        4552     力達-KY       101.0       上市  2017-11-22
## 91        3044        健鼎        99.8       上市  2017-11-22
## 92        3454        晶睿        97.0       上市  2017-11-22
## 93        2731        雄獅        96.0       上市  2017-11-22
## 94        9942        茂順        95.0       上市  2017-11-22
## 95        6230        超眾        94.8       上市  2017-11-22
## 96        1326        台化        94.5       上市  2017-11-22
## 97        5288     豐祥-KY        93.8       上市  2017-11-22
## 98        4536        拓凱        93.5       上市  2017-11-22
## 99        6239        力成        93.4       上市  2017-11-22
## 100       2351        順德        93.1       上市  2017-11-22

最後選擇標的

##   stock_code stock_name stock_price stock_type scrape_date listed_date
## 1       2231       為升       315.0       上市  2017-11-22  2009-03-25
## 2       2379       瑞昱       115.5       上市  2017-11-22  1998-10-26
## 3       2731       雄獅        96.0       上市  2017-11-22  2013-09-24
## 4       2912     統一超       288.5       上市  2017-11-22  1997-08-22
## 5       3008     大立光      5555.0       上市  2017-11-22  2002-03-11
## 6       3044       健鼎        99.8       上市  2017-11-22  2000-12-07
## 7       4739       康普       121.0       上市  2017-11-22  2011-12-01
## 8       4968       立積       109.0       上市  2017-11-22  2015-11-13
## 9       6414       樺漢       466.0       上市  2017-11-22  2014-03-28
##   yoy_1m yoy_2m yoy_3m is_declined free_cf_year_1 free_cf_year_2
## 1   5.23   0.52   4.42       FALSE        2016000         526000
## 2   6.29   7.48   3.94       FALSE       10432000        5366000
## 3  28.12  14.37  23.99       FALSE          99000         283000
## 4   0.96   4.12   5.16       FALSE        9410000        1547000
## 5  10.66   9.87   3.95       FALSE       14244000       15172000
## 6   9.59   9.48   5.45       FALSE        4648000        5460000
## 7  45.65  46.71   7.59       FALSE          29000          45000
## 8  17.17  26.22  29.49       FALSE         156000         296000
## 9 280.04 237.50 203.23       FALSE         595000        1187000
##   free_cf_year_3 free_cf_year_4 is_pos_free_cf net_income_1 net_income_2
## 1          34000         313000           TRUE      1116000      1120000
## 2        4215000        4972000           TRUE      3040000      2428000
## 3         229000        1165000           TRUE       248000       450000
## 4        1017000         831000           TRUE      9837000      8239000
## 5       10497000        3838000           TRUE     22733000     24157000
## 6        7241000        2926000           TRUE      3573000      2833000
## 7          17000          72000           TRUE       217000       115000
## 8          58000          13000           TRUE       150000       146000
## 9         442000          25000           TRUE      1023000       866000
##   net_income_3 net_income_4 is_profitable_flag op_income_ratio_1
## 1       745000       364000               TRUE       0.274849900
## 2      3893000      3035000               TRUE       0.089105749
## 3       384000       372000               TRUE       0.021950296
## 4      9090000      8037000               TRUE       0.050829715
## 5     19438000      9610000               TRUE       0.392993840
## 6      2637000      2375000               TRUE       0.070587658
## 7       195000        15000               TRUE      -0.004997918
## 8        57000        15000               TRUE       0.013477089
## 9       562000       372000               TRUE       0.132751938
##   op_income_ratio_2 op_income_ratio_3 op_income_ratio_4
## 1        0.38097448        0.44259391       0.396546678
## 2        0.09010652        0.05733006       0.085907386
## 3        0.01961560        0.01985242       0.006856829
## 4        0.04742115        0.04676831       0.048314675
## 5        0.45987776        0.49499723       0.577308074
## 6        0.06367686        0.06592444       0.095120998
## 7        0.01549865        0.05811572       0.033299950
## 8        0.03907381        0.09440559       0.085106383
## 9        0.12311956        0.10735281       0.107725263

看一下營業收益率

自動化處理資料

建立一個互動圖表

建立一個作品集網站

mkdir blogdown_project
setwd("~/blogdown_project")
blogdown::new_site()
blogdown::serve_site()

使用其他的主題模板

blogdown::new_site(theme = "gcushen/hugo-academic")

Live Demo

談談自己的案例

不一樣的學習起點

Tidyverse:R 語言學習之旅的新起點

深入淺出

  • 基礎
  • 應用
  • 專案

基礎

  • 變數類型
  • 資料結構
  • 流程控制
  • 迴圈
  • 自訂函數

應用

  • 資料載入
  • Base Plotting System
  • ggplot2
  • 文字函數與正規表達式
  • rvest 套件
  • caret 套件

專案

  • 解決工作上的問題
  • 建立作品集
  • 面試

我經營的學習資源

台大資工系統訓練班

輕鬆學習 R 語言

博客來

天瓏網路書店

Udemy 教學

R 語言輕鬆學習:基礎篇

Medium

DataInPoint

毋免驚,咱寬寬仔行 。

滅火器,海上的人

和我聯絡

tony@kyosei.ai